﻿#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//int main()
//{
//	int a = 10;//正数整数都一样
//	//原码 000000000000000000000000000001010
//	//反码 000000000000000000000000000001010
//	//补码 000000000000000000000000000001010
//	int a = - 10;//负数就三种表达形式
//	//原码 100000000000000000000000000001010
//	//原码 111111111111111111111111111110101
//	//补码 111111111111111111111111111110110
//
//	//若想直接由补码转原码，反过来加一就行 
//	return 0;
//}

//内存中使用的补码，打印出来的是原码

//
////左移
//int main()
//{
//	int num = 10;
//	int r = num << 1;
//	printf("n= %d\n", r);
//	printf("num= %d\n", num);
//
//	return 0;
//}

//右移动，分为两种，
//1. 逻辑右移：左边⽤0填充，右边丢弃
//2. 算术右移：左边⽤原该值的符号位填充，右边丢弃，正数补零，负数补一
//所以用负数就能测试是哪种右移的